Android Chromium WebView 崩溃
全部标签 我不知道该怎么办了……没希望了。我厌倦了猜测是什么导致了崩溃。最近我注意到一些opengl调用在一些gfx卡上随机崩溃程序。所以我现在真的很偏执什么会导致崩溃。这个崩溃的坏处是它只有在长时间使用该程序后才会崩溃,所以我只能猜测是什么问题。我不记得我对程序进行了哪些更改可能会导致崩溃,已经很久了。但幸运的是,以前的版本没有崩溃,所以我可以复制粘贴一些代码并浪费10个小时来查看它从什么时候开始崩溃......我想我还不想那样做。程序在我让它连续处理相同的文件大约5次后崩溃,每次它在进程中使用大约200兆字节的内存。它在读取过程中和之后随机崩溃。我创建了一个“安全”的free()函数,它检查
我有ubuntu11.10中内置的Qt版本。并且我正在尝试使用无法实际停靠的QDockWidget(基本上,我只想要一个float的窗口。我不想只让View成为顶级View,因为那样我就会有OS窗口栏在那里,我不想要,如果我要隐藏它,那么窗口将无法移动)。所以,我基本上创建了一个新的QtGui项目,除了mainwindow.cpp文件,我没有更改任何文件,我将其更改为:#include"mainwindow.h"#include"ui_mainwindow.h"#includeMainWindow::MainWindow(QWidget*parent):QMainWindow(pare
这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:WhatistheeasiestwaytomakeaC++programcrash?我在我们的代码库中经常看到一个结构,程序以某种方式进入无效状态,代码会故意做错事,只是为了强制崩溃。它通常是这样的:if(){int*ptr=NULL;*ptr=0;}这当然会导致空引用异常并以不可恢复的方式使程序崩溃。我只是想知道这是否真的是最好的方法?首先,它读起来不好。如果不发表评论,您可能不会意识到这里发生的崩溃是有意为之的。其次,几乎没有办法从中恢复。它不会抛出异常,因此无法由其他代码处理。它只会杀死程序而无法回溯。
我们有一个用于夜间构建的遗留构建基础设施(在Perl中实现)来编译、链接和单元测试我们的应用程序/插件。在Windows上,如果单元测试过程崩溃,则会弹出一个模态对话框,“锁定”我们的构建场。有没有办法(win32API调用、系统配置、envvar等...)禁用此行为,让子进程在崩溃时立即终止,而不是模式对话框和非零退出状态?谢谢,--DDPS:我们在Windows上使用SEC(结构化异常处理)进行编译,以便能够使用catch(...)“捕获”崩溃,因此大部分时间都避免了这个问题,但有时这还不够,因为当然有些崩溃是不可恢复的(例如,如果它们损坏了堆栈)。 最
我正在使用google-breakpad.这是一个错误报告程序,在后台运行以报告另一个进程的崩溃。它几乎适用于所有情况。然而,它有时无法捕捉到崩溃。没有报告,也没有转储文件。它只是崩溃。崩溃的最后线索是Windows事件消息。如何调试这些崩溃?什么会导致Breakpad无法处理崩溃?我可以使用哪些方法来调试这种情况? 最佳答案 在某些情况下,VisualC++C/C++运行时库会移除使用SetUnhandledExceptionFilter设置的钩子(Hook);例如,当它检测到缓冲区溢出或其他安全问题时。ThisMicrosoft
在我的应用程序中,我设置了信号处理程序来捕获段错误并打印bactraces。当进程启动时,我的应用程序加载了一些插件库。如果我的应用程序因段错误而崩溃,这是由于主要可执行二进制文件中的错误,我可以通过以下方式分析回溯:addr2line-Cif-e./myapplication0x4...它准确地显示了函数和source_file:line_no但是如何分析崩溃是否是由于插件错误导致的,如下面的回溯?/opt/myapplication(_Z7sigsegvv+0x15)[0x504245]/lib64/libpthread.so.0[0x3f1c40f500]/opt/myappli
有时我的C++程序在Debug模式下崩溃,我得到的是一个消息框,提示某些内部内存管理例程(访问未分配的内存等)中的断言失败。但我不知道那是从哪里调用的,因为我没有得到任何堆栈跟踪。我如何获取堆栈跟踪或至少查看它在我的代码中失败的位置(而不是库/内置例程)? 最佳答案 如果发生崩溃,无论您使用的是调试版本还是发布版本,都可以获得有关崩溃发生位置的信息。即使您在没有源代码的计算机上,也可以看到调用堆栈。为此,您需要使用通过EXE构建的PDB文件。将PDB文件放在与崩溃的EXE相同的目录中。注意:即使您拥有相同的源代码,构建两次并使用第一
我用C++编写了一个应用程序,它使用Qt4.7.4。启动时,它会加载一些自己编写的动态库,这些库也使用Qt(如果这在某种程度上有用的话)。关闭应用程序时,有时它会因SIGSEGV和以下回溯而崩溃:#0malloc_consolidate(av=0x7ffff58b21c0)atmalloc.c:5155#10x00007ffff5591659inmalloc_consolidate(av=0x7ffff58b21c0)atmalloc.c:5115#2_int_free(av=0x7ffff58b21c0,p=)atmalloc.c:5034#30x00007ffff5594d7cin
我使用已检查的STL实现在我的代码中出现意外的断言失败。经过一些研究,我将问题缩小到一个vector中的push_back,该vector是从与创建该vector的线程不同的线程调用的。重现此问题的最简单代码是:classSomeClass{private:std::vectortheVector;public:SomeClass(){theVector.push_back(1);//Ok}voidadd(){theVector.push_back(1);//Crash}};唯一的区别是SomeClass是从我的主线程实例化的,而add是从另一个线程调用的。但是,没有并发问题:在我用于
我在gcc4.4.5上尝试了以下代码。如果成员“data”不存在,代码执行正常,但在它存在的情况下,它会崩溃。当派生类的dtor不是虚拟时,它也不会崩溃。我知道在这两种情况下行为都是未定义的,如C++03(5.3.5/3)中所列,但仍然有人可以向我提供一些解释,为什么它在后一种情况下崩溃了?是的,我知道UB意味着任何事情都可能发生,但仍然我想知道特定于实现的细节。#includeusingstd::cout;structbase{intdata;base(){cout 最佳答案 假设在我的系统(gcc4.6.0,linuxx86_6